Customer devices (like digital television Set Top Boxes, Blu-ray players etc.) are operated by users typically via a graphical user interface (GUI) of the device. The GUI may vary between devices, depending on the device specification and functionality. It is important for the devices that reach the market to be free of programming bugs or erroneously designed user interfaces, which could result in a device hanging up during user navigation through the menu. Therefore, new designs of devices are tested before starting mass production or sales.
There are known automated methods for testing a graphical user interface. However, the known methods require providing test steps to a test script engine of a test case. The test steps are remote control unit (RCU) commands which need to be sent to a device under the test to result in a particular action on the screen—for example, to enter a desired sub-menu of the GUI and to change some settings in this menu. When the test case is created, it can be run many times on many different software types for same device under the test. A problem appears when a structure of the GUI in the software of the tested device changes and the test case parameters have to be updated. The testing person (tester) must provide new steps—i.e. a new or an additional command must be sent to enter the same sub-menu as previously to change some settings. The tester must also check manually if the new steps result in activating the required sub-menu. This causes additional workload in the test procedure and creates additional time and labour costs.
Therefore, there is a need to provide a method for automatic testing of the GUI of customer devices, which would not require providing test steps which are only suitable for a single testing procedure (for a single device).